#ifndef INCLUDED_PROJECTILE_H
#define INCLUDED_PROJECTILE_H

#include <SGE.h>
using namespace SGE;

class Map;

class Projectile
{
	public:
		Projectile();
		~Projectile();

		void Load(const char* projName);
		void Unload();
		void Update(float deltaTime, Map& map);
		void Render(const SVector2& viewOffset);

		void Fire(const SVector2& pos, const SVector2& vel);
		void Kill();
		SRect GetBoundingBox() const;
		void EnvironmentCollision(Map& map);

		bool isActive() const {return mActive;}
		SCircle GetBoundingCircle() const	{ return SCircle(mPosition, 10.0f); }
		void ReverseVelocity ()		{ mVelocity *= -1; }

	private:
		SGE_Sprite mSprite;
		SVector2 mPosition;
		SVector2 mVelocity;
		bool mActive; 
};
#endif // #ifndef INCLUDED_PROJECTILE_H